<?php
/**
* 后台管理模块
* 该控制器整个受保护
* Admin 的所有动作都受到保护
* 结合angularjs ,仅此一控制器完成所有的路由
* admin数据接口
* admin/getuser 获取所有用户,所有信息
* admin/updateuser  更新用户信息
*/
class admin extends base
{
	const PRE='bbs_';
	private static $adminId;
	private static $db;

	private static $tables=array(
					'user'=>'bbs_user',
					'post'=>'bbs_post',
					'forum'=>'bbs_forum',
					'reply'=>'bbs_reply',
					'message'=>'bbs_message'
					);


	
	function __construct()
	{
		// self::$adminId=parent::isAdminLogin('/login');
		self::$db=M('m_bbs');

	}
	function Error500($msg)
	{
		echo "error500";
	}

	function Error404($msg)
	{
		echo 'error404';
	}
	
	function index()
	{
		V('admin/index');
	}

	/**
	 * 加载模板 
	 */
	function tpl($tpl,$page=1)
	{
		switch ($tpl)
		{
			case 'index':
			case 'system':
				# code...
				break;
			case 'users':
				$data=self::$db->userListAvailable($page);
				$data['current']=$page;
				break;
			case 'post':
				$data['list']=self::$db->latestPost(null,15);
				$data['page']=10;
				break;
			case 'forum':
				$data['list']=self::$db->getforumList();
				$data['page']=6;
				break;
			default:
				# code...
				break;
		}
		// var_dump($data);die;
		$path='admin/tpl/'.$tpl;
		if(is_file(VIEW_PATH.$path.'.php'))
		{
			V('admin/tpl/'.$tpl,isset($data)?$data:array());
		}
		else
		{
			echo "模板不存在";			
		}
	}

	/**
	 * delete 动作
	 */
	function delete($type,$args)
	{
		$method_name='delete_'.$type;
		if(method_exists($this, $method_name))
		{
			return call_user_func_array(array($this, $method_name), array($args));
		}
	}
	/**
	 * freeze 动作
	 */
	function freeze($type,$args)
	{
		$method_name='freeze_'.$type;
		if(method_exists($this, $method_name))
		{
			return call_user_func_array(array($this, $method_name), array($args));
		}
	}
	


	#####################################delete操作############################################

	private function delete_user($id)
	{
		$ret=self::$db->deleteUser($id);
		json(array('code'=>0,'msg'=>"已成功删除用户{$id}",'ret'=>$ret));
	}







	##############################################freeze操作#########################################

	private function freeze_user($id)
	{
		$ret=self::$db->freezeUser($id);
		json(array('code'=>0,'msg'=>'成功冻结用户'.$id,'ret'=>$ret));
		
	}

}